/*
 * ntp_utils.h
 *
 *  Created on: 2022年1月28日
 *      Author: ljf
 */

#ifndef APP_INCLUDE_NTP_UTILS_H_
#define APP_INCLUDE_NTP_UTILS_H_
typedef long int time_t;

struct tm {
int tm_sec; /* 秒 – 取值区间为[0,59] */
int tm_min; /* 分 - 取值区间为[0,59] */
int tm_hour; /* 时 - 取值区间为[0,23] */
int tm_mday; /* 一个月中的日期 - 取值区间为[1,31] */
int tm_mon; /* 月份（从一月开始，1代表一月） - 取值区间为[1,12] */
int tm_year; /* 年份，其值等于实际年份减去1900 */
int tm_wday; /* 星期 – 取值区间为[0,6]，其中0代表星期天，1代表星期一，以此类推 */
int tm_yday; /* 从每年的1月1日开始的天数 – 取值区间为[0,365]，其中0代表1月1日，1代表1月2日，以此类推 */
int tm_isdst; /* 夏令时标识符，实行夏令时的时候，tm_isdst为正。不实行夏令时的时候，tm_isdst为0；不了解情况时，tm_isdst()为负。
long int tm_gmtoff; /*指定了日期变更线东面时区中UTC东部时区正秒数或UTC西部时区的负秒数*/
const char *tm_zone; /*当前时区的名字(与环境变量TZ有关)*/
};

#define isleap(y) ((((y) % 4) == 0 && ((y) % 100) != 0) || ((y) % 400) == 0)

void sntp_service_init();
int get_current_time(char *timeStamp);
struct tm *
datetime_format_transform(time_t * tim_p ,struct tm *res);

#endif /* APP_INCLUDE_NTP_UTILS_H_ */
